\subsection{{\tt{life}}: Game of Life\label{s:toys-life}}

This module simulates the evolution of Conway's Game of Life,
a two-dimensional cellular automaton.

{\inputspec}

\begin{description}
\item[{\tt{matrix}}:]
	a Boolean matrix representing the Life world.
\item[{\tt{numgen}}:]
	the number of generations to simulate.
\end{description}

{\outputspec}

\begin{description}
\item[{\tt{matrix}}:]
	a Boolean matrix representing the world after simulation.
\end{description}

At each time step,
this module must count the number of live ({\tt{true}}) cells in the 8-neighborhood of each cell
using circular boundary conditions.
If a cell has 3 live neighbors,
or has 2 live neighbors and is already alive,
it is alive in the next generation.
In any other situation,
the cell becomes, or stays, dead.
